package com.hsgene.order.dto.console.detail;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hsgene.common.util.qiniu.QiniuResourceSerializer;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Description: 订单详情，套餐信息
 * @ProjectName: hdas-geneshop
 * @Package: com.hsgene.order.dto.console.detail
 * @Author: 江承良
 * @CreateDate: 2018/11/27 13:48
 * @Version: 1.0
 * Copyright: Copyright (c) 2018
 */
public class OrderPackageInfo {
    /**
     * 套餐id
     */
    private String packageId;
    /**
     * 套餐名称
     */
    private String packageName;

    /**
     * 套餐价格
     */
    private BigDecimal packagePrice;

    /**
     * 订单套餐实际价格
     */
    private BigDecimal realPackagePrice;

    /**
     * 积分佣金
     */
    private Integer commission;
    /**
     *机构id
     * @author FX
     * @date 2019/1/17 14:23
     */
    private String geneticTestingAgencyId;
    /**
     * 检测机构
     */
    private String agencyName;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 状态描述
     */
    private String statusDesc;

    /**
     * 样本条码
     */
    private String sampleBarcode;

    /**
     * 快递单号
     */
    private String courierNo;

    /**
     * 快递公司
     */
    private String courierCompanyName;

    /**
     * 快递时间
     */
    private Date courierDateTime;

    /**
     * 快递备注
     */
    private String courierRemarks;

    /**
     * 快递回单
     */
    private List<String> courierImagesUrls;

    /**
     * 采样日期
     */
    private Date collectSampleDateTime;

    /**
     * 样本类型
     */
    private String sampleType;

    /**
     * 是否寄回余蜡状态
     */
    private Integer isSendWaxBlock;

    /**
     * 是否寄回余蜡
     */
    private String isSendWaxBlockDesc;

    /**
     * 寄回余蜡状态
     */
    private String sendWaxBlockStatus;

    /**
     * 医院编码
     */
    private String hospitalCode;

    /**
     * 白片数量
     */
    private Integer whiteCount;

    /**
     * 样本确认人
     */
    private String signerName;

    /**
     * 样本确认时间
     */
    private Date signerDateTime;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 耗材图片
     */
    @JsonSerialize(using = QiniuResourceSerializer.class)
    private String goodsImage;
    /**
     * 报告信息
     */
    private OrderPackageDetailInfo orderPackageDetailInfo;

    /**
     * 旧套餐名称（如果此套餐是在后台变更来的需要展示这个值）
     */
    private String oldPackageName;

    /**
     * 补款金额
     */
    private BigDecimal supplementAmount;

    /**
     * 变更过来的套餐是否已经被确认完成（0：未完成，1：已完成）
     */
    private Integer packageConfirmFlag;

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public BigDecimal getPackagePrice() {
        return packagePrice;
    }

    public void setPackagePrice(BigDecimal packagePrice) {
        this.packagePrice = packagePrice;
    }

    public BigDecimal getRealPackagePrice() {
        return realPackagePrice;
    }

    public void setRealPackagePrice(BigDecimal realPackagePrice) {
        this.realPackagePrice = realPackagePrice;
    }

    public Integer getCommission() {
        return commission;
    }

    public void setCommission(Integer commission) {
        this.commission = commission;
    }

    public String getAgencyName() {
        return agencyName;
    }

    public void setAgencyName(String agencyName) {
        this.agencyName = agencyName;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getStatusDesc() {
        return statusDesc;
    }

    public void setStatusDesc(String statusDesc) {
        this.statusDesc = statusDesc;
    }

    public String getSampleBarcode() {
        return sampleBarcode;
    }

    public void setSampleBarcode(String sampleBarcode) {
        this.sampleBarcode = sampleBarcode;
    }

    public String getCourierNo() {
        return courierNo;
    }

    public void setCourierNo(String courierNo) {
        this.courierNo = courierNo;
    }

    public String getCourierCompanyName() {
        return courierCompanyName;
    }

    public void setCourierCompanyName(String courierCompanyName) {
        this.courierCompanyName = courierCompanyName;
    }

    public Date getCourierDateTime() {
        return courierDateTime;
    }

    public void setCourierDateTime(Date courierDateTime) {
        this.courierDateTime = courierDateTime;
    }

    public String getCourierRemarks() {
        return courierRemarks;
    }

    public void setCourierRemarks(String courierRemarks) {
        this.courierRemarks = courierRemarks;
    }

    public List<String> getCourierImagesUrls() {
        return courierImagesUrls;
    }

    public void setCourierImagesUrls(List<String> courierImagesUrls) {
        this.courierImagesUrls = courierImagesUrls;
    }

    public Date getCollectSampleDateTime() {
        return collectSampleDateTime;
    }

    public void setCollectSampleDateTime(Date collectSampleDateTime) {
        this.collectSampleDateTime = collectSampleDateTime;
    }

    public String getSampleType() {
        return sampleType;
    }

    public void setSampleType(String sampleType) {
        this.sampleType = sampleType;
    }

    public Integer getIsSendWaxBlock() {
        return isSendWaxBlock;
    }

    public void setIsSendWaxBlock(Integer isSendWaxBlock) {
        this.isSendWaxBlock = isSendWaxBlock;
    }

    public String getIsSendWaxBlockDesc() {
        return isSendWaxBlockDesc;
    }

    public void setIsSendWaxBlockDesc(String isSendWaxBlockDesc) {
        this.isSendWaxBlockDesc = isSendWaxBlockDesc;
    }

    public String getSendWaxBlockStatus() {
        return sendWaxBlockStatus;
    }

    public void setSendWaxBlockStatus(String sendWaxBlockStatus) {
        this.sendWaxBlockStatus = sendWaxBlockStatus;
    }

    public String getHospitalCode() {
        return hospitalCode;
    }

    public void setHospitalCode(String hospitalCode) {
        this.hospitalCode = hospitalCode;
    }

    public Integer getWhiteCount() {
        return whiteCount;
    }

    public void setWhiteCount(Integer whiteCount) {
        this.whiteCount = whiteCount;
    }

    public String getSignerName() {
        return signerName;
    }

    public void setSignerName(String signerName) {
        this.signerName = signerName;
    }

    public Date getSignerDateTime() {
        return signerDateTime;
    }

    public void setSignerDateTime(Date signerDateTime) {
        this.signerDateTime = signerDateTime;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public OrderPackageDetailInfo getOrderPackageDetailInfo() {
        return orderPackageDetailInfo;
    }

    public void setOrderPackageDetailInfo(OrderPackageDetailInfo orderPackageDetailInfo) {
        this.orderPackageDetailInfo = orderPackageDetailInfo;
    }

    public String getPackageId() {
        return packageId;
    }

    public void setPackageId(String packageId) {
        this.packageId = packageId;
    }

    public String getGeneticTestingAgencyId() {
        return geneticTestingAgencyId;
    }

    public void setGeneticTestingAgencyId(String geneticTestingAgencyId) {
        this.geneticTestingAgencyId = geneticTestingAgencyId;
    }
    public String getOldPackageName() {
        return oldPackageName;
    }

    public void setOldPackageName(String oldPackageName) {
        this.oldPackageName = oldPackageName;
    }

    public BigDecimal getSupplementAmount() {
        return supplementAmount;
    }

    public void setSupplementAmount(BigDecimal supplementAmount) {
        this.supplementAmount = supplementAmount;
    }
    public String getGoodsImage() {
        return goodsImage;
    }

    public void setGoodsImage(String goodsImage) {
        this.goodsImage = goodsImage;
    }

    public Integer getPackageConfirmFlag() {
        return packageConfirmFlag;
    }

    public void setPackageConfirmFlag(Integer packageConfirmFlag) {
        this.packageConfirmFlag = packageConfirmFlag;
    }
}
